package com.axon.brasil.formatters
{
	import mx.formatters.Formatter;
	import mx.utils.StringUtil;
	
	public class CepFormatter extends Formatter
	{
		//////////////////////////////////////////////////////////////////////////////////////////////////////
		
		public function CepFormatter()
		{
			super();
		}

		//////////////////////////////////////////////////////////////////////////////////////////////////////
		
		override public function format(value: Object): String
		{
			if (error)
				error = null;
				
			var strBruto: String = value as String;
			var result  : String = "";
			var size    : Number;
			var cursor  : Number = 0;
			
			strBruto = StringUtil.trim(strBruto);
			strBruto = strBruto.replace("-","");
			strBruto = strBruto.replace(".","");

			size = strBruto.length;
			
			for (var i: Number = (size - 1); i >= 0; i--) {

				cursor++;

				if (cursor == 4) 
					result = "-" + result;
				else if (cursor == 7) 
					result = "." + result;

				result = strBruto.charAt(i) + result;
			}
			return result;
		}

	}
}